f5b65a75f11d58a317e65a9839ab7650a7850c9a,src/com/jidesoft/plaf/eclipse/EclipseMenuUI.java,EclipseMenuUI,updateMnemonicBinding,#,197
Before Change
protected void updateMnemonicBinding()
{
int m = menuItem.getMnemonic();
if (m != 0)
{
InputMap map = SwingUtilities.getUIInputMap(
menuItem, JComponent.WHEN_IN_FOCUSED_WINDOW);
if (map == null)
{
map = new ComponentInputMapUIResource(menuItem);
SwingUtilities.replaceUIInputMap(menuItem,
JComponent.WHEN_IN_FOCUSED_WINDOW, map);
}
map.clear();
map.put(KeyStroke.getKeyStroke(m, JideSwingUtilities.getFocusAcceleratorKeyMask(), false),
"pressed");
map.put(KeyStroke.getKeyStroke(m, JideSwingUtilities.getFocusAcceleratorKeyMask(), true),
"released");
map.put(KeyStroke.getKeyStroke(m, 0, true), "released");
}
else
{
InputMap map = SwingUtilities.getUIInputMap(menuItem, JComponent.
WHEN_IN_FOCUSED_WINDOW);
if (map != null)
{
map.clear();
}
}
}
After Change
}
protected void updateMnemonicBinding() {
int mnemonic = menuItem.getModel().getMnemonic();
int[] shortcutKeys = (int[]) UIDefaultsLookup.get("Menu.shortcutKeys");
if (shortcutKeys == null) {
shortcutKeys = new int[]{KeyEvent.ALT_MASK};
}
if (mnemonic == lastMnemonic) {
return;
}
if (lastMnemonic != 0 && windowInputMap != null) {
for (int shortcutKey : shortcutKeys) {
windowInputMap.remove(KeyStroke.getKeyStroke
(lastMnemonic, shortcutKey, false));
windowInputMap.remove(KeyStroke.getKeyStroke
(lastMnemonic, shortcutKey, true));
}
}
if (mnemonic != 0) {
if (windowInputMap == null) {
windowInputMap = createInputMap(JComponent.
WHEN_IN_FOCUSED_WINDOW);
SwingUtilities.replaceUIInputMap(menuItem, JComponent.
WHEN_IN_FOCUSED_WINDOW, windowInputMap);
}
for (int shortcutKey : shortcutKeys) {
windowInputMap.put(KeyStroke.getKeyStroke(mnemonic,
shortcutKey, false),
"selectMenu");
}
}
lastMnemonic = mnemonic;